package com.example.smart_lock_app.data.repository

import com.example.smart_lock_app.data.model.LockState
import com.example.smart_lock_app.data.model.LockLog
import kotlinx.coroutines.flow.Flow

// SharedPreferences Keys
const val KEY_DEVICE_ID = "device_id"
const val KEY_API_KEY = "api_key"

interface LockRepository {
    suspend fun getLockState(): LockState
    suspend fun unlock(): Result<Unit>
    suspend fun lock(): Result<Unit>
    fun observeLockState(): Flow<LockState>
    fun getLockLogs(): Flow<List<LockLog>>
    suspend fun refreshLockState()
}